package cn.iocoder.yudao.module.signature.controller.admin.device.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 苹果设备信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppleDeviceRespVO {

    @Schema(description = "开发者id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23884")
    @ExcelProperty("开发者id")
    private Long id;

    @Schema(description = "udid", requiredMode = Schema.RequiredMode.REQUIRED, example = "16986")
    @ExcelProperty("udid")
    private String udid;

    @Schema(description = "苹果设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32691")
    @ExcelProperty("苹果设备id")
    private String deviceId;

    @Schema(description = "苹果证书id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16749")
    @ExcelProperty("苹果证书id")
    private String cerId;

    @Schema(description = "苹果证书编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("苹果证书编码")
    private String cerNumber;

    @Schema(description = "苹果开发者账号id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4055")
    @ExcelProperty("苹果开发者账号id")
    private Long appAccountId;

    @Schema(description = "账号类型（公共 个人）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("账号类型（公共 个人）")
    private String accountType;

    @Schema(description = "质保类型（公共 个人）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("质保类型（公共 个人）")
    private String warrantyType;

    @Schema(description = "购买类型秒出 0  ；预约 1", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("类别 预约秒出")
    private String classType;

    @Schema(description = "版本 摆烂 躺平 加强", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("版本 摆烂 躺平 加强")
    private String orderVersion;

    @Schema(description = "证书名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @ExcelProperty("证书名称")
    private String cerName;

    @Schema(description = "p12文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @ExcelProperty("p12文件路径")
    private String p12Url;

    @Schema(description = "p12密码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("p12密码")
    private String p12Password;

    @Schema(description = "描述文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @ExcelProperty("描述文件路径")
    private String mpUrl;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
    /**
     *
     *版本类型编码
     */
    @Schema(description = "版本类型编码", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private String versionTypeCode ;
    /**
     *
     *版本类型编码
     */
    @Schema(description = "版本类型名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private String versionTypeName ;

    /**
     * 设备类型
     */
    @Schema(description = "设备类型")
    private String deviceModel;

    /**
     * 设备来源 0:自己 1:苹果
     */
    @Schema(description = "设备来源0:本系统 1:苹果")
    private String sourceFlag;
    /**
     * 使用客户名称
     */
    @Schema(description = "使用客户名称")
    private String userName;

    /**
     * 证书状态
     */
    private String cerStatus;



    /**
     * 购买类型
     */
    private String buyType;


    /**
     *
     是否掉签
     */
    @Schema(description = "证书状态 是否掉签")
    private Boolean dropFlag =Boolean.FALSE ;

}